Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Застосування хвильового перетворення для обробки сигналів

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Кафедра захисту інформації

Інформація про роботу

Рік:
2010
Тип роботи:
Лабораторна робота
Предмет:
Цифрова обробка сигналів та зображень
Група:
ЗІД-12

Частина тексту файла

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» кафедра захисту інформації  Лабораторна робота №3 на тему: «Застосування хвильового перетворення для обробки сигналів» з курсу «Цифрова обробка сигналів та зображень» Мета роботи: ознайомитися зі змістом хвилькового перетворення, основними можливостями хвилькової обробки реалізованими в програмному пакеті MatLab, отримати навики розрахунку дискретного хвилькового перетворення, декомпозиції сигналу на апроксимуючі та деталізуючі складові, хвилькова очищення сигналів від шумів. Завдання: 1. Ознайомитись з теоретичним матеріалом. 2. Скласти програму в середовищі MatLab згідно завдання. 2.1. Провести очищення сигналу від шуму з використанням хвилькового перетворення відповідно до завдання у табл. 1. табл.1 № Тип вейвлету Рівень розкладу Поріг Тип порогу Масштабування Сигнал  8. Койфлета 5-го порядку 3 heursure жорсткий Тип 1 Lab_3_8.mat   Лістинг програми: >> tn=(0:length(signal)-1); % вісь часу >> w_name= 'coif5'; % тип вейвлету >> Lev= 3; % рівень розкладу >> type= 'heursure'; % поріг >> [L0_D, Hi_D, L0_R, Hi_R]=wfilters(w_name); % розрах-к фільтрів декомпозиції і реконструкції % розрахунок АЧХ фільтрів >> [h_D, f]=freqz(L0_D, 1, 0:0.001:1, 2); >> h1_D=freqz(Hi_D, 1, 0:0.001:1, 2); >> [h_R, f]=freqz(L0_R, 1, 0:0.001:1, 2); >> h1_R=freqz(Hi_R, 1, 0:0.001:1, 2); >> figure(1); plot(f, abs(h_D), f, abs(h1_D)); grid on; % графік АЧХ фільтрів декомпозиції >> figure(2); plot(f, abs(h_R), f, abs(h1_R)); grid on; % графік АЧХ фільтрів реконструкції >> [C, L]=wavedec(signal, Lev, w_name); % хвильковий розклад сигналу >> cA3=appcoef(C, L, w_name, Lev); ); % добування коефіцієнтів апроксимації сА3 >> [cD3 cD2 cD1]=detcoef(C, L, [3 2 1]);% добування коефіцієнтів деталізації сD3, cD2, cD1 % Побудова графіків коефіцієнтів розкладу >> figure(3); subplot(411); plot(cA3); grid on; xlim([0 L(1)-1]); ylabel('cA3'); >> subplot(412); plot(cD3); grid on; xlim([0 L(2)-1]); ylabel('cD3'); >> subplot(413); plot(cD2); grid on; xlim([0 L(3)-1]); ylabel('cD2'); >> subplot(414); plot(cD1); grid on; xlim([0 L(4)-1]); ylabel('cD1'); >> A3=wrcoef('a', C, L, w_name, 3); % Обчислення апроксимуючої складової А3 >> D3=wrcoef('d', C, L, w_name, 3); % Обчислення деталізуючої складової D3 >> D2=wrcoef('d', C, L, w_name, 2); % Обчислення деталізуючої складової D2 >> D1=wrcoef('d', C, L, w_name, 1); % Обчислення деталізуючої складової D1 >> L_sig=length(signal); % Розмірність сигналу % Побудова графіків сигналу та його часових складових >> figure(4); subplot(511); plot(signal); grid on; xlim([0 L_sig-1]); ylabel('S(n)'); >> subplot(512); plot(A3); grid on; xlim([0 L_sig-1]); ylabel('A3'); >> subplot(513); plot(D3); grid on; xlim([0 L_sig-1]); ylabel('D3'); >> subplot(514); plot(D2); grid on; xlim([0 L_sig-1]); ylabel('D2'); >> subplot(515); plot(D1); grid on; xlim([0 L_sig-1]); ylabel('D1'); % Оцінка рівня шуму деталізуючих коефіцієнтів >> stdc=wnoisest(C, L, 1); % Обчислення порогу для кожного рівня >> for ii=1:Lev thr(ii)=thselect(detcoef(C, L, ii)/stdc, type); thr(ii)=thr(ii)*stdc; end; % Жорстке порогування коефіцієнтів cD1 >> for ii=1:length(cD1) if (abs(cD1(ii))<thr) cD1(ii)=0; end; end; % Жорстке порогування коефіцієнтів cD2 >> for ii=1:length(cD2) if (abs(cD2(ii))<thr) cD2(ii)=0; end; end; % Жорстке порогування коефіцієнтів cD3 >> for ii=1:length(cD3) if (abs(cD3(ii))<thr) cD3(ii)=0; end; end; % Заміна первинних коефіцієнтів cD обчисленими >> cD=[cD3 cD2 cD1]; >> C(L(1)+1:end)=cD; % Побудова графіків коефіцієнтів після порогування >> figure(5); subplot(411); plot(0:L(1)-1, cA3); grid on; xlim([0 L(1)-1]); ylabel('cA3'); >> subplot(412); plot(0:L(2)-1, cD3); grid on; xlim([0 L(2)-1]); ylabel('cD3'); >> subplot(413); plot(0:L(3)-1, cD2); grid on; xlim([0 L(3)-1]); ylabel('cD2'); >> subplot(414); plot(0:L(4)-1, cD1); grid on; xlim([0 L(4)-1]); ylabel('cD1'); % Обчислення деталізуючих складових після порогування >> D3=wrcoef('d', C, L, w_name,...
Антиботан аватар за замовчуванням

01.01.1970 03:01

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини